'Aura
'Antisocial F1/F2 bot by abyaly
'Uses one very large eye

def bornaim 941
def IDcheck 946
def enemy 947
def ID 1234

cond
start

314 .setaim *.robage 1 sub sqr sgn mult store
.out5 inc

*.in5 *.in4 add *.memval add *.refage 10000 mod sub .ID sub sgn abs 
*.in5 *.in4 add *.memval add *.refage 10000 mod sub .ID sub 1 add sgn abs mult .enemy store

.aimdx inc

'**************************************************************
'avoid conspecs
'**************************************************************
*.refxpos *.xpos sub *.refveldx add 10 *.nrg 20 div ceil 5 floor mult
*.refypos *.ypos sub *.refveldn add dup mult *.refxpos *.xpos sub *.refveldx add dup mult add sqr div 
.sx 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.numties 0 sub sgn abs 1 sub abs mult
  *.enemy 0 sub sgn abs 1 sub abs mult
store

*.refypos *.ypos sub *.refveldn add 10 *.nrg 20 div ceil 5 floor mult
*.refypos *.ypos sub *.refveldn add dup mult *.refxpos *.xpos sub *.refveldx add dup mult add sqr div
.up 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.numties 0 sub sgn abs 1 sub abs mult
  *.enemy 0 sub sgn abs 1 sub abs mult
store

'**************************************************************
'eat/chase
'**************************************************************

-6 3 4 add 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

*.refxpos *.refypos dist 150 div -1 mult .shootval 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

*.refxpos *.refveldx *.veldx add 2 mult add
*.refypos *.refveldn *.velup add 2 mult add
angle - *.aim add .aimshoot 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

*.refveldx *.refveldx *.refxpos *.xpos sub mult
*.refveldn *.refypos *.ypos sub mult add
*.refxpos *.xpos sub dup mult
*.refypos *.ypos sub dup mult add div
*.refxpos *.xpos sub mult sub .dx 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

*.refveldn *.refveldx *.refxpos *.xpos sub mult
*.refveldn *.refypos *.ypos sub mult add
*.refxpos *.xpos sub dup mult
*.refypos *.ypos sub dup mult add div
*.refypos *.ypos sub mult sub .dn 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

*.refxpos *.xpos sub 97 *.eyef sub 40 ceil mult
*.refypos *.ypos sub dup mult *.refxpos *.xpos sub dup mult add sqr div - .sx 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

*.refypos *.ypos sub 97 *.eyef sub 40 ceil mult
*.refypos *.ypos sub dup mult *.refxpos *.xpos sub dup mult add sqr div - .up 
  *.robage 1 sub sqr sgn mult
  *.eyef 0 sub sqr sgn mult
  *.enemy 0 sub sqr sgn mult
store

'**************************************************************
'misc
'**************************************************************
'ties
*.tiepres .deltie 
  *.robage 1 sub sqr sgn mult
  *.numties 0 sub sqr sgn mult
store

'body & nrg
*.nrg *.body sub 2 div 10 mult .strbody 
  *.nrg *.body sub sqr sgn mult
store
*.body *.nrg sub 2 div .fdbody 
  *.body *.nrg sub sqr sgn mult
store

'shell
*.body *.shell sub 0 floor .mkshell 
  *.body *.shell sub sgn abs mult
store

'waste
-4 3 4 add 
  *.waste 100 sub sqr sgn mult
store
*.waste .shootval 
  *.waste 100 sub sqr sgn mult
store

'antiviral
.delgene inc
.delgene inc

'**************************************************
'repro1
'**************************************************
4 rnd 100 mult *.bornaim add .setaim 
  *.robage 1 sub sqr sgn mult
  *.eyef sgn 1 sub abs mult
store 

4 rnd 100 mult *.bornaim add .bornaim 
  *.robage 1 sub sqr sgn mult
  *.eyef sgn 1 sub abs mult
store

50 .repro 
  *.robage 1 sub sqr sgn mult
  *.eyef sgn 1 sub abs mult
store

'**************************************************
'repro2
'**************************************************
4 rnd 100 mult *.bornaim add .setaim 
  *.robage 1 sub sqr sgn mult
  60 *.eyef sub sqr sgn mult
  *.nrg 10000 sub sqr sgn mult
  *.body 10000 sub sqr sgn mult
store 

4 rnd 100 mult *.bornaim add .bornaim 
  *.robage 1 sub sqr sgn mult
  60 *.eyef sub sqr sgn mult
  *.nrg 10000 sub sqr sgn mult
  *.body 10000 sub sqr sgn mult
store

50 .repro 
  *.robage 1 sub sqr sgn mult
  60 *.eyef sub sqr sgn mult
  *.nrg 10000 sub sqr sgn mult
  *.body 10000 sub sqr sgn mult
store

'**************************************************
'born
'**************************************************
1 .tie *.robage sgn 1 sub abs mult store
1220 .eye1width *.robage sgn 1 sub abs mult store
1220 .eye2width *.robage sgn 1 sub abs mult store
1220 .eye3width *.robage sgn 1 sub abs mult store
1220 .eye4width *.robage sgn 1 sub abs mult store
1220 .eye5width *.robage sgn 1 sub abs mult store
1220 .eye6width *.robage sgn 1 sub abs mult store
1220 .eye7width *.robage sgn 1 sub abs mult store
1220 .eye8width *.robage sgn 1 sub abs mult store
1220 .eye9width *.robage sgn 1 sub abs mult store
9 rnd 4 sub .focuseye *.robage sgn 1 sub abs mult store

.IDcheck .memloc 
  *.memloc .IDcheck sub sgn abs mult
store

500 rnd .IDcheck *.robage sgn 1 sub abs mult store
500 rnd .out4 *.robage sgn 1 sub abs mult store

.ID *.IDcheck sub *.out4 sub .out5 1 add .out5 
  *.robage sgn 1 sub abs mult 
store

*.aim 628 add 1256 mod .bornaim 
  *.robage sgn 1 sub abs mult 
store

1 .deltie 
  *.robage 1 sub abs sgn 1 sub abs mult
store

'**************************************************
'ID correction
'**************************************************
.ID *.IDcheck sub *.out4 sub *.robage 10000 mod add .out5 
  *.out5 *.out4 *.IDcheck add add *.robage 10000 mod sub .ID sub sgn abs mult
store

stop